const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
// 头部导航栏的高度
statusBarHeight: app.globalData.statusBarHeight,
// 搜索框当前输入的值
value: '',
// 搜索历史关键词
historyKeyword:[],
// 搜索发现
discover_list:null,
// 搜索建议弹出层
show:false,
searchSuggest:null
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 获取历史搜索数据
    if(wx.getStorageSync('historyKeyword')!==''){
      this.setData({
        historyKeyword:wx.getStorageSync('historyKeyword')
      })
    }

    this.searchDiscover()
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  goback(){
    wx.navigateBack()
  },
  // 回车确定搜索
  search(e){
    // 收起弹出层
    this.setData({
      show:false
    })
    console.log(e);
    if(e.detail!==''&&this.data.historyKeyword.indexOf(e.detail)==-1){
      // 获取历史搜索关键词
      this.data.historyKeyword.push(e.detail)
      this.setData({
        historyKeyword:this.data.historyKeyword
      })
      // 保存历史搜索数据
      wx.setStorageSync('historyKeyword', this.data.historyKeyword)
    }

    // 跳转搜索结果页面
    wx.navigateTo({
      url: '../searchResult/searchResult?value='+this.data.value,
    })

  },

  // 删除搜索历史
  deleteHistory(){
    console.log(this);
    let that = this
    wx.showModal({
      // title: '提示',
      content: '是否删除全部搜索历史?',
      success (res) {
        if (res.confirm) {
            // 清除缓存
        wx.removeStorageSync('historyKeyword')
        // 清除变量数据
          console.log(that);
      that.setData({
      historyKeyword:[]
    })
    console.log(that.data.historyKeyword);
        } else if (res.cancel) {
          return
        }
      }
    })
   
  },

  // 获取搜索发现
  searchDiscover(){
    wx.request({
      method:"GET",
      url: 'https://apis.netstart.cn/xmsc/hisearch/se_default',
      success:res =>{
        // console.log("搜索发现res",res);
        if(res.data.data.discover_list!==undefined){

          this.setData({
            discover_list:res.data.data.discover_list
          })
        }else{
          return
        }
        
      },
      fail:err=>{
        console.log("搜索发现err",err);
      }
    })
  },

  // 点击搜索建议列表进入搜索结果页
  clickSearchSuggestItem(e){
    console.log(e);
    // 跳转搜索结果页面
    wx.navigateTo({
      url: '../searchResult/searchResult?value='+e.currentTarget.dataset.name,
      
    })
  },
  // 点击搜索历史词条进入搜索结果
  clickHistoryEntry(e){
    // 获取点击的词条
    let name = e.currentTarget.dataset.name
    // console.log(e);
    // 跳转搜索结果页面
    wx.navigateTo({
      url: '../searchResult/searchResult?value='+name,
    })
  },

  changeValue(e){
// console.log(e);
this.setData({
  value:e.detail
})
// 搜索框有内容时弹出
if(this.data.value.trim()==''){
  this.setData({
    show:false,
    // 防止快速回退时输入框为空但是弹框出现
    searchSuggest:null
  })
  return
}


// 获取搜索建议
wx.request({
  method:"GET",
  url: 'https://apis.netstart.cn/xmsc/hisearch/suggestion_v3',
  data:{
    query:this.data.value
  },
  success:res=>{
    // console.log("搜索建议res",res);
    if(res.data.data!==undefined&&res.data.data.list.length!==0){
      this.searchSuggest = res.data.data.list
      console.log(this.searchSuggest);
    //   for (let i = 0; i < this.searchSuggest.length; i++) {
    //     this.searchSuggest[i].heightTitle = this.highlight(this.searchSuggest[i].title, this.data.value);
    // }
    // console.log(this.searchSuggest);
      this.setData({
        searchSuggest:this.searchSuggest,
        show:true
      })
    }else{
      return
    }
  },
  fail:err=>{
    console.log("搜索建议err",err);
  }
})


  },

  // 搜索建议关键词高亮
highlight(source, keyword) {
  const reg = new RegExp(keyword, "gi");
  // console.log(source.replace(reg, `<span style="color: #FF4d00">${keyword}</span>`));

  return source.replace(reg, `<span class="searchSuggest_item" style="color: #FF4D00">${keyword}</span>`);
},
  // 点击遮罩层
  clickOverlay(){
    this.setData({
      show:false
    })
  },


})